/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package slcu.model;

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.impl.BaseModelImpl;

import slcu.service.EscuelaLocalServiceUtil;

import java.io.Serializable;

import java.lang.reflect.Proxy;

import java.util.HashMap;
import java.util.Map;

/**
 * @author tito
 */
public class EscuelaClp extends BaseModelImpl<Escuela> implements Escuela {
	public EscuelaClp() {
	}

	public Class<?> getModelClass() {
		return Escuela.class;
	}

	public String getModelClassName() {
		return Escuela.class.getName();
	}

	public long getPrimaryKey() {
		return _escuelaId;
	}

	public void setPrimaryKey(long primaryKey) {
		setEscuelaId(primaryKey);
	}

	public Serializable getPrimaryKeyObj() {
		return new Long(_escuelaId);
	}

	public void setPrimaryKeyObj(Serializable primaryKeyObj) {
		setPrimaryKey(((Long)primaryKeyObj).longValue());
	}

	@Override
	public Map<String, Object> getModelAttributes() {
		Map<String, Object> attributes = new HashMap<String, Object>();

		attributes.put("escuelaId", getEscuelaId());
		attributes.put("sec", getSec());
		attributes.put("cue", getCue());
		attributes.put("anexo", getAnexo());
		attributes.put("cue_anexo", getCue_anexo());
		attributes.put("region", getRegion());
		attributes.put("categoria", getCategoria());
		attributes.put("denominacion", getDenominacion());
		attributes.put("numero", getNumero());
		attributes.put("nombre", getNombre());
		attributes.put("direccion", getDireccion());
		attributes.put("cp", getCp());
		attributes.put("telefono", getTelefono());
		attributes.put("localidad", getLocalidad());
		attributes.put("departamento", getDepartamento());
		attributes.put("emails", getEmails());
		attributes.put("niveles", getNiveles());
		attributes.put("estado", getEstado());

		return attributes;
	}

	@Override
	public void setModelAttributes(Map<String, Object> attributes) {
		Long escuelaId = (Long)attributes.get("escuelaId");

		if (escuelaId != null) {
			setEscuelaId(escuelaId);
		}

		String sec = (String)attributes.get("sec");

		if (sec != null) {
			setSec(sec);
		}

		String cue = (String)attributes.get("cue");

		if (cue != null) {
			setCue(cue);
		}

		String anexo = (String)attributes.get("anexo");

		if (anexo != null) {
			setAnexo(anexo);
		}

		String cue_anexo = (String)attributes.get("cue_anexo");

		if (cue_anexo != null) {
			setCue_anexo(cue_anexo);
		}

		String region = (String)attributes.get("region");

		if (region != null) {
			setRegion(region);
		}

		String categoria = (String)attributes.get("categoria");

		if (categoria != null) {
			setCategoria(categoria);
		}

		String denominacion = (String)attributes.get("denominacion");

		if (denominacion != null) {
			setDenominacion(denominacion);
		}

		String numero = (String)attributes.get("numero");

		if (numero != null) {
			setNumero(numero);
		}

		String nombre = (String)attributes.get("nombre");

		if (nombre != null) {
			setNombre(nombre);
		}

		String direccion = (String)attributes.get("direccion");

		if (direccion != null) {
			setDireccion(direccion);
		}

		String cp = (String)attributes.get("cp");

		if (cp != null) {
			setCp(cp);
		}

		String telefono = (String)attributes.get("telefono");

		if (telefono != null) {
			setTelefono(telefono);
		}

		String localidad = (String)attributes.get("localidad");

		if (localidad != null) {
			setLocalidad(localidad);
		}

		String departamento = (String)attributes.get("departamento");

		if (departamento != null) {
			setDepartamento(departamento);
		}

		String emails = (String)attributes.get("emails");

		if (emails != null) {
			setEmails(emails);
		}

		String niveles = (String)attributes.get("niveles");

		if (niveles != null) {
			setNiveles(niveles);
		}

		String estado = (String)attributes.get("estado");

		if (estado != null) {
			setEstado(estado);
		}
	}

	public long getEscuelaId() {
		return _escuelaId;
	}

	public void setEscuelaId(long escuelaId) {
		_escuelaId = escuelaId;
	}

	public String getSec() {
		return _sec;
	}

	public void setSec(String sec) {
		_sec = sec;
	}

	public String getCue() {
		return _cue;
	}

	public void setCue(String cue) {
		_cue = cue;
	}

	public String getAnexo() {
		return _anexo;
	}

	public void setAnexo(String anexo) {
		_anexo = anexo;
	}

	public String getCue_anexo() {
		return _cue_anexo;
	}

	public void setCue_anexo(String cue_anexo) {
		_cue_anexo = cue_anexo;
	}

	public String getRegion() {
		return _region;
	}

	public void setRegion(String region) {
		_region = region;
	}

	public String getCategoria() {
		return _categoria;
	}

	public void setCategoria(String categoria) {
		_categoria = categoria;
	}

	public String getDenominacion() {
		return _denominacion;
	}

	public void setDenominacion(String denominacion) {
		_denominacion = denominacion;
	}

	public String getNumero() {
		return _numero;
	}

	public void setNumero(String numero) {
		_numero = numero;
	}

	public String getNombre() {
		return _nombre;
	}

	public void setNombre(String nombre) {
		_nombre = nombre;
	}

	public String getDireccion() {
		return _direccion;
	}

	public void setDireccion(String direccion) {
		_direccion = direccion;
	}

	public String getCp() {
		return _cp;
	}

	public void setCp(String cp) {
		_cp = cp;
	}

	public String getTelefono() {
		return _telefono;
	}

	public void setTelefono(String telefono) {
		_telefono = telefono;
	}

	public String getLocalidad() {
		return _localidad;
	}

	public void setLocalidad(String localidad) {
		_localidad = localidad;
	}

	public String getDepartamento() {
		return _departamento;
	}

	public void setDepartamento(String departamento) {
		_departamento = departamento;
	}

	public String getEmails() {
		return _emails;
	}

	public void setEmails(String emails) {
		_emails = emails;
	}

	public String getNiveles() {
		return _niveles;
	}

	public void setNiveles(String niveles) {
		_niveles = niveles;
	}

	public String getEstado() {
		return _estado;
	}

	public void setEstado(String estado) {
		_estado = estado;
	}

	public BaseModel<?> getEscuelaRemoteModel() {
		return _escuelaRemoteModel;
	}

	public void setEscuelaRemoteModel(BaseModel<?> escuelaRemoteModel) {
		_escuelaRemoteModel = escuelaRemoteModel;
	}

	public void persist() throws SystemException {
		if (this.isNew()) {
			EscuelaLocalServiceUtil.addEscuela(this);
		}
		else {
			EscuelaLocalServiceUtil.updateEscuela(this);
		}
	}

	@Override
	public Escuela toEscapedModel() {
		return (Escuela)Proxy.newProxyInstance(Escuela.class.getClassLoader(),
			new Class[] { Escuela.class }, new AutoEscapeBeanHandler(this));
	}

	@Override
	public Object clone() {
		EscuelaClp clone = new EscuelaClp();

		clone.setEscuelaId(getEscuelaId());
		clone.setSec(getSec());
		clone.setCue(getCue());
		clone.setAnexo(getAnexo());
		clone.setCue_anexo(getCue_anexo());
		clone.setRegion(getRegion());
		clone.setCategoria(getCategoria());
		clone.setDenominacion(getDenominacion());
		clone.setNumero(getNumero());
		clone.setNombre(getNombre());
		clone.setDireccion(getDireccion());
		clone.setCp(getCp());
		clone.setTelefono(getTelefono());
		clone.setLocalidad(getLocalidad());
		clone.setDepartamento(getDepartamento());
		clone.setEmails(getEmails());
		clone.setNiveles(getNiveles());
		clone.setEstado(getEstado());

		return clone;
	}

	public int compareTo(Escuela escuela) {
		long primaryKey = escuela.getPrimaryKey();

		if (getPrimaryKey() < primaryKey) {
			return -1;
		}
		else if (getPrimaryKey() > primaryKey) {
			return 1;
		}
		else {
			return 0;
		}
	}

	@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}

		EscuelaClp escuela = null;

		try {
			escuela = (EscuelaClp)obj;
		}
		catch (ClassCastException cce) {
			return false;
		}

		long primaryKey = escuela.getPrimaryKey();

		if (getPrimaryKey() == primaryKey) {
			return true;
		}
		else {
			return false;
		}
	}

	@Override
	public int hashCode() {
		return (int)getPrimaryKey();
	}

	@Override
	public String toString() {
		StringBundler sb = new StringBundler(37);

		sb.append("{escuelaId=");
		sb.append(getEscuelaId());
		sb.append(", sec=");
		sb.append(getSec());
		sb.append(", cue=");
		sb.append(getCue());
		sb.append(", anexo=");
		sb.append(getAnexo());
		sb.append(", cue_anexo=");
		sb.append(getCue_anexo());
		sb.append(", region=");
		sb.append(getRegion());
		sb.append(", categoria=");
		sb.append(getCategoria());
		sb.append(", denominacion=");
		sb.append(getDenominacion());
		sb.append(", numero=");
		sb.append(getNumero());
		sb.append(", nombre=");
		sb.append(getNombre());
		sb.append(", direccion=");
		sb.append(getDireccion());
		sb.append(", cp=");
		sb.append(getCp());
		sb.append(", telefono=");
		sb.append(getTelefono());
		sb.append(", localidad=");
		sb.append(getLocalidad());
		sb.append(", departamento=");
		sb.append(getDepartamento());
		sb.append(", emails=");
		sb.append(getEmails());
		sb.append(", niveles=");
		sb.append(getNiveles());
		sb.append(", estado=");
		sb.append(getEstado());
		sb.append("}");

		return sb.toString();
	}

	public String toXmlString() {
		StringBundler sb = new StringBundler(58);

		sb.append("<model><model-name>");
		sb.append("slcu.model.Escuela");
		sb.append("</model-name>");

		sb.append(
			"<column><column-name>escuelaId</column-name><column-value><![CDATA[");
		sb.append(getEscuelaId());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>sec</column-name><column-value><![CDATA[");
		sb.append(getSec());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue</column-name><column-value><![CDATA[");
		sb.append(getCue());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>anexo</column-name><column-value><![CDATA[");
		sb.append(getAnexo());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue_anexo</column-name><column-value><![CDATA[");
		sb.append(getCue_anexo());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>region</column-name><column-value><![CDATA[");
		sb.append(getRegion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>categoria</column-name><column-value><![CDATA[");
		sb.append(getCategoria());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>denominacion</column-name><column-value><![CDATA[");
		sb.append(getDenominacion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>numero</column-name><column-value><![CDATA[");
		sb.append(getNumero());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>nombre</column-name><column-value><![CDATA[");
		sb.append(getNombre());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>direccion</column-name><column-value><![CDATA[");
		sb.append(getDireccion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cp</column-name><column-value><![CDATA[");
		sb.append(getCp());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>telefono</column-name><column-value><![CDATA[");
		sb.append(getTelefono());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>localidad</column-name><column-value><![CDATA[");
		sb.append(getLocalidad());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>departamento</column-name><column-value><![CDATA[");
		sb.append(getDepartamento());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>emails</column-name><column-value><![CDATA[");
		sb.append(getEmails());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>niveles</column-name><column-value><![CDATA[");
		sb.append(getNiveles());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>estado</column-name><column-value><![CDATA[");
		sb.append(getEstado());
		sb.append("]]></column-value></column>");

		sb.append("</model>");

		return sb.toString();
	}

	private long _escuelaId;
	private String _sec;
	private String _cue;
	private String _anexo;
	private String _cue_anexo;
	private String _region;
	private String _categoria;
	private String _denominacion;
	private String _numero;
	private String _nombre;
	private String _direccion;
	private String _cp;
	private String _telefono;
	private String _localidad;
	private String _departamento;
	private String _emails;
	private String _niveles;
	private String _estado;
	private BaseModel<?> _escuelaRemoteModel;
}